$(document).ready(function() {

	var table = $('#table').DataTable({
		"order" : [ [ 1, "asc" ] ],// desc默认排序
		"paging" : true,
		"dom" : '<"top">rt<"bottom"ip><"clear">',
		"type" : "post",
		"ajax" : {
			"url" : basePath + "/userInfo/getUserInfoList.do",
			"data" : function(d) {
				d.tagIds=$('#cri-tag-ids').val(),
				d.community=$('#cri-community option:selected').val(),
				d.companyName=$('#cri-company-name').val(),
				d.userMobile=$('#cri-user-mobile').val(),
				d.userName=$('#cri-user-name').val(),
				d.bassistGrade=$('#cri-bassist-grade option:selected').val(),
				d.userGrade=$('#cri-user-grade option:selected').val(),
				d.userNames=$('#cri-user-names').val()
			}
		},
		"serverSide" : "true",
		"processing" : "true",
		select: {
            style: 'multi'
        },
		"columns" : [
			  {data : "businessId"},  
			  {data : "regName"},
			  {data : "userGrade"},
			  {data : "businessId"}, 
			  {data : "aliasName"},
			  {data : "regMobile"}, 
			  {data : "companyName"},
			  {data : "tagName"}
			  
		],
		"columnDefs" : [
			{
	            "targets": 0,
	            "data": null,
	            "orderable":false,
	            "render" : function(data,type, row) {
	            	return '<input type="checkbox" data="'+data+'">';
	            }
	        } ,
			      
		      {
					"targets" : 2,
					"data" : null,
					"render" : function(data,type, row) {

						return renderUserGrade(data);

					}
		      }

		]
	// end of columnDefs

	}).on('preXhr.dt',function(e, settings, data) {
		showLoading('loadingUserImg');
	}).on('xhr.dt',function(e, settings, data) {
		hideLoading('loadingUserImg');
		$('#select-all-user').prop("checked",false);
	}).on('processing.dt',function(e, settings, processing) {

	}).on('error.dt',function(){
	    	//window.location.reload();
	});// end of dataTable

	
	
	
	$('#table tbody').on('click', 'tr', function () {
    	
//		$(this).toggleClass('selected');
//		
//		
//		table.rows('.selected').data();
//
//		
//		$('#select-user-ids').val();
		
       
    });
	
	//选中单个用户
	$('#table tbody').on('click','tr input', function () {
    	
	//	$(this).toggleClass('selected');
		
//		if($(this).prop('checked'))
//		{
//			addValToInput($('#selected-user-ids'),data.node.id);
//		}
//		else
//		{
//			removeValFromInput($('#selected-user-ids'),data.node.id);
//		}
		
		renderSelectedUser();
		
       
    });
	//选中本页全部用户
	$('#select-all-user').on('click',function(){
				
		$('#table tbody tr input').prop('checked',$(this).prop('checked'));
				
		renderSelectedUser();
		
	})
	
	
	$('#filter-user').on('click',function(){
		table.ajax.reload();
	})
	
	//load tag tree
		
	var tagTree = $("#tag-tree").jstree({
        "core": {
            "animation": 0,
            "check_callback": true,
            "themes": { "stripes": false },
            'data': {
                'url': basePath+"/userInfo/getTags.do",
                "dataType": "json",
                'data': function (node) {
                    return { 'id': node.id };
                }
            }
        },
        "checkbox": {
            "keep_selected_style": false,
            "tie_selection": false,
            "three_state": false
        },
        "plugins": ["checkbox"]


    }).on("ready.jstree", function (event, data) {   	

    }).on("check_node.jstree", function (e, data) {

    	
    	addValToInput($('#cri-tag-ids'),data.node.id);
    	
    	renderCriTagNames();
       	
    }).on("uncheck_node.jstree", function (e, data) {
 
    	removeValFromInput($('#cri-tag-ids'),data.node.id);
    	
    	renderCriTagNames();
    	
}).jstree();
	
	
	$('#unselect-tags').on('click',function(){
		$("#tag-tree").jstree().uncheck_all();
		$('#cri-tag-ids').val('');
		renderCriTagNames();
		$("#tag-tree").jstree().close_all();
		
	})
	
	
	//load community
	
	$.post(basePath+"/func/getOtherPer.do?type=community",{},function(data){
		
		data=$.parseJSON(data);
    	
    	if (data.length > 0) {
            $('#cri-community').empty();
            $('#cri-community').append($('<option></option>').val('').text('请选择圈子'));
            
            $.each(data, function (i, item) {
                $('#cri-community').append($('<option></option>').val(item.id).text(item.text));
            });
                                    
        } 
		
	})
	
	//全选或全不选本页用户
	$('#select-all-user-ids').on('click',function(){
		
		var btn=$('#select-all-user-ids');
		
		if(btn.hasClass('btn-success'))
		{
			btn.removeClass('btn-success');
			
			btn.addClass('btn-default');
			
			btn.val('不选');
			
			$('#table tbody tr').addClass('selected');
		}
		else
		{
			btn.removeClass('btn-default');
			
			btn.addClass('btn-success');
			
			btn.val('全选');
			
			$('#table tbody tr').removeClass('selected');
			
		}
		
	})
	//根据查询条件获取用户IDS
	$('#get-all-user-ids').on('click',function(){
				
		getAllUserIds(
				$('#cri-tag-ids').val(),
				$('#cri-community option:selected').val(),
				$.trim($('#cri-user-name').val()),
				$.trim($('#cri-user-mobile').val())
				);
		
	})
	
	$('#copy-selected-user-ids').on('click',function(){
		
		copyValue('selected-user-ids');
		
	})
	
	$('#copy-all-user-ids').on('click',function(){
		
		copyValue('all-user-ids');
		
	})
	
	$('#clear-selected-user-ids').on('click',function(){
		
		$('#selected-user-ids').val('');
		
		$('#table tr input').prop('checked',false);
				
	})
	

	$('#clear-all-user-ids').on('click',function(){
		
		$('#all-user-ids').val('');
		
	})
	
	

	
	
})
//渲染操作类型
function renderOperationType(data)
{
	var temp='<input type="hidden" value="{0}"><label class="label {1}">{2}</label>';

	if (data == 'insert') {
		
		return temp.format(data,"label-success","增"); 
	}

	if (data == 'update') {
		
		return temp.format(data,"label-info","改");		
	}
	
	if (data == 'delete') {
		
		return temp.format(data,"label-warning","删");		
	}
	
	return temp.format(data,"label-danger","未知");
}

//渲染生意帮用户级别
function renderUserGrade(data)
{
	var temp='<input type="hidden" value="{0}"><label class="label {1}">{2}</label>';

	if (data == 'Boss') {
		
		return temp.format(data,"label-primary","老板"); 
	}
	
	if (data == 'CI') {
		
		return temp.format(data,"label-default","个人"); 
	}
	
	if (data == 'CS') {
		
		return temp.format(data,"label-info","客服"); 
	}
	
	if (data == 'BM') {
		
		return temp.format(data,"label-success","经理"); 
	}
	
	return temp.format(data,"label-danger","未知");
}

function copyValue(obj){

	$('#'+obj).select(); // 选择对象
	document.execCommand("Copy"); // 执行浏览器复制命令
	myNoty("已复制至剪切版","success");

}

function getAllUserIds(tags,community,userName,userMobile){
	
	$('#all-user-ids').val('');
	
	$('#user-count').html('');
	
	$.myAjax(basePath+'/userInfo/getAllUserIds.do',
			{tagIds:tags,community:community,userName:userName,userMobile:userMobile},
			'post',
			function(data){
		
				if(data.status==10001)
				{
					
					$('#user-count').html('('+data.dataNum+')');
					
					if(data.dataNum>0)
					{
						$('#all-user-ids').val(data.data.join(','));
					}
				}
				
				
			},
		    function () {
		
				showLoading('loadingUserIdImg');
		
		    },
		    function () {
		    	hideLoading('loadingUserIdImg');
		
		    },function(){
		    	window.location.reload();
		    }
		)   
		
}

//渲染选中标签名称
function renderCriTagNames()
{
	 var codes = $('#cri-tag-ids').val().split(',');

	    var tagnames=[]

	    for (var i = 0; i < codes.length; i++)
	    {
	        var n = $("#tag-tree").jstree("get_node", codes[i]);

	        if (n) {
	        	
	            tagnames.push(n.text);
	        }
	    }

	    tagnames = tagnames.delRepeat();

	    $('#cri-tag-names').html(tagnames.join(','));
}

//遍历表格input,将选中用户ID放进input
function renderSelectedUser()
{
	var cbs=$('#table tbody tr input');
	
	var userIds=[];
	
	for(var i=0;i<cbs.length;i++)
	{
		if($(cbs[i]).prop('checked'))
		{
			//userIds.push($(cbs[i]).attr('data'));
			
			addValToInput($('#selected-user-ids'),$(cbs[i]).attr('data'));
			
		}
		else
		{
			removeValFromInput($('#selected-user-ids'),$(cbs[i]).attr('data'));
		}
	}
	
	
	//$('#selected-user-ids').val(userIds.join(','));
	
}
